package com.exam.practice;

import java.util.Scanner;

/**
 * @Author: xin.wang  E-mail:xin.wang1@myt11.com
 * @CreateTime: 2022/1/19 14:43
 * @Description: 第一个只出现一次的字符
 */
public class SixPractice {
    /**
     * 在一个字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回-1（需要区分大小写）。（从0开始计数）
     * 
     * 示例1
     * 输入："google"  返回值：4
     * 示例2
     * 输入："aa"  返回值：-1
     *
     * @param args
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            System.out.print("result:");
            String str = scanner.nextLine();
            returnLocation(str);
        }
    }


    public static void returnLocation(String str) {
        char[] chars = str.toCharArray();
        boolean isRepeat = true;
        for (int i = 0; i < chars.length; i++) {
            int charCount = getCharCount(chars, chars[i]);
            if (charCount == 1) {
                isRepeat = false;
//                System.out.println(chars[i]);
                System.out.println(i);
                break;
            }
        }
        if (isRepeat) {
            System.out.println(-1);
        }

    }

    /**
     * 计数器
     * @param chars
     * @param charNum
     * @return
     */
    public static int getCharCount(char[] chars, int charNum) {
        int charCount = 0;
        for (int i = 0; i < chars.length; i++) {
            if (charNum == chars[i]) {
                charCount++;
            }
        }
        return charCount;
    }

}
